home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / QDOffscreen.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  5KB  |  170 lines

  1. /*
  2.      File:        QDOffscreen.h
  3.  
  4.      Contains:    Quickdraw Offscreen GWorld Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __QDOFFSCREEN__
  19. #define __QDOFFSCREEN__
  20.  
  21. #ifndef __ERRORS__
  22. #include <Errors.h>
  23. #endif
  24. #ifndef __QUICKDRAW__
  25. #include <Quickdraw.h>
  26. #endif
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32. #if PRAGMA_IMPORT_SUPPORTED
  33. #pragma import on
  34. #endif
  35.  
  36. #if PRAGMA_ALIGN_SUPPORTED
  37. #pragma options align=mac68k
  38. #endif
  39.  
  40. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  41.  
  42. enum {
  43.     pixPurgeBit                    = 0,
  44.     noNewDeviceBit                = 1,
  45.     useTempMemBit                = 2,
  46.     keepLocalBit                = 3,
  47.     pixelsPurgeableBit            = 6,
  48.     pixelsLockedBit                = 7,
  49.     mapPixBit                    = 16,
  50.     newDepthBit                    = 17,
  51.     alignPixBit                    = 18,
  52.     newRowBytesBit                = 19,
  53.     reallocPixBit                = 20,
  54.     clipPixBit                    = 28,
  55.     stretchPixBit                = 29,
  56.     ditherPixBit                = 30,
  57.     gwFlagErrBit                = 31
  58. };
  59.  
  60.  
  61. enum {
  62.     pixPurge                    = 1L << pixPurgeBit,
  63.     noNewDevice                    = 1L << noNewDeviceBit,
  64.     useTempMem                    = 1L << useTempMemBit,
  65.     keepLocal                    = 1L << keepLocalBit,
  66.     pixelsPurgeable                = 1L << pixelsPurgeableBit,
  67.     pixelsLocked                = 1L << pixelsLockedBit,
  68.     mapPix                        = 1L << mapPixBit,
  69.     newDepth                    = 1L << newDepthBit,
  70.     alignPix                    = 1L << alignPixBit,
  71.     newRowBytes                    = 1L << newRowBytesBit,
  72.     reallocPix                    = 1L << reallocPixBit,
  73.     clipPix                        = 1L << clipPixBit,
  74.     stretchPix                    = 1L << stretchPixBit,
  75.     ditherPix                    = 1L << ditherPixBit,
  76.     gwFlagErr                    = 1L << gwFlagErrBit
  77. };
  78.  
  79. typedef unsigned long GWorldFlags;
  80. /* Type definition of a GWorldPtr */
  81. typedef CGrafPtr GWorldPtr;
  82. extern pascal QDErr NewGWorld(GWorldPtr *offscreenGWorld, short PixelDepth, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  83.  FOURWORDINLINE(0x203C, 0x0016, 0x0000, 0xAB1D);
  84.  
  85. extern pascal Boolean LockPixels(PixMapHandle pm)
  86.  FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xAB1D);
  87.  
  88. extern pascal void UnlockPixels(PixMapHandle pm)
  89.  FOURWORDINLINE(0x203C, 0x0004, 0x0002, 0xAB1D);
  90.  
  91. extern pascal GWorldFlags UpdateGWorld(GWorldPtr *offscreenGWorld, short pixelDepth, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  92.  FOURWORDINLINE(0x203C, 0x0016, 0x0003, 0xAB1D);
  93.  
  94. extern pascal void DisposeGWorld(GWorldPtr offscreenGWorld)
  95.  FOURWORDINLINE(0x203C, 0x0004, 0x0004, 0xAB1D);
  96.  
  97. extern pascal void GetGWorld(CGrafPtr *port, GDHandle *gdh)
  98.  FOURWORDINLINE(0x203C, 0x0008, 0x0005, 0xAB1D);
  99.  
  100. extern pascal void SetGWorld(CGrafPtr port, GDHandle gdh)
  101.  FOURWORDINLINE(0x203C, 0x0008, 0x0006, 0xAB1D);
  102.  
  103. extern pascal void CTabChanged(CTabHandle ctab)
  104.  FOURWORDINLINE(0x203C, 0x0004, 0x0007, 0xAB1D);
  105.  
  106. extern pascal void PixPatChanged(PixPatHandle ppat)
  107.  FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xAB1D);
  108.  
  109. extern pascal void PortChanged(GrafPtr port)
  110.  FOURWORDINLINE(0x203C, 0x0004, 0x0009, 0xAB1D);
  111.  
  112. extern pascal void GDeviceChanged(GDHandle gdh)
  113.  FOURWORDINLINE(0x203C, 0x0004, 0x000A, 0xAB1D);
  114.  
  115. extern pascal void AllowPurgePixels(PixMapHandle pm)
  116.  FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xAB1D);
  117.  
  118. extern pascal void NoPurgePixels(PixMapHandle pm)
  119.  FOURWORDINLINE(0x203C, 0x0004, 0x000C, 0xAB1D);
  120.  
  121. extern pascal GWorldFlags GetPixelsState(PixMapHandle pm)
  122.  FOURWORDINLINE(0x203C, 0x0004, 0x000D, 0xAB1D);
  123.  
  124. extern pascal void SetPixelsState(PixMapHandle pm, GWorldFlags state)
  125.  FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xAB1D);
  126.  
  127. extern pascal Ptr GetPixBaseAddr(PixMapHandle pm)
  128.  FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xAB1D);
  129.  
  130. extern pascal QDErr NewScreenBuffer(const Rect *globalRect, Boolean purgeable, GDHandle *gdh, PixMapHandle *offscreenPixMap)
  131.  FOURWORDINLINE(0x203C, 0x000E, 0x0010, 0xAB1D);
  132.  
  133. extern pascal void DisposeScreenBuffer(PixMapHandle offscreenPixMap)
  134.  FOURWORDINLINE(0x203C, 0x0004, 0x0011, 0xAB1D);
  135.  
  136. extern pascal GDHandle GetGWorldDevice(GWorldPtr offscreenGWorld)
  137.  FOURWORDINLINE(0x203C, 0x0004, 0x0012, 0xAB1D);
  138.  
  139. extern pascal Boolean QDDone(GrafPtr port)
  140.  FOURWORDINLINE(0x203C, 0x0004, 0x0013, 0xAB1D);
  141.  
  142. extern pascal long OffscreenVersion(void )
  143.  TWOWORDINLINE(0x7014, 0xAB1D);
  144.  
  145. extern pascal QDErr NewTempScreenBuffer(const Rect *globalRect, Boolean purgeable, GDHandle *gdh, PixMapHandle *offscreenPixMap)
  146.  FOURWORDINLINE(0x203C, 0x000E, 0x0015, 0xAB1D);
  147.  
  148. extern pascal Boolean PixMap32Bit(PixMapHandle pmHandle)
  149.  FOURWORDINLINE(0x203C, 0x0004, 0x0016, 0xAB1D);
  150.  
  151. extern pascal PixMapHandle GetGWorldPixMap(GWorldPtr offscreenGWorld)
  152.  FOURWORDINLINE(0x203C, 0x0004, 0x0017, 0xAB1D);
  153.  
  154. #endif
  155.  
  156. #if PRAGMA_ALIGN_SUPPORTED
  157. #pragma options align=reset
  158. #endif
  159.  
  160. #if PRAGMA_IMPORT_SUPPORTED
  161. #pragma import off
  162. #endif
  163.  
  164. #ifdef __cplusplus
  165. }
  166. #endif
  167.  
  168. #endif /* __QDOFFSCREEN__ */
  169.  
  170.